<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta name="description" content="Zumastor enterprise storage for Linux">
<meta name="keywords" content="zumastor nfs snapshot snapshotting replication linux kernel samba">
<link href="doxygen.css" rel="stylesheet" type="text/css">
<title>Zumastor Linux Storage Project</title>
</head>
<body>

<h1>Zumastor Linux Storage Project</h1>
<img src="linux1.png" class="floatRight" alt="Zumastor Logo">
Zumastor is Free software that adds enterprise storage features (primarily improved snapshots and remote replication) to Linux.
<p>
You can read all about it in <a href="http://zumastor.googlecode.com/svn/branches/0.8/doc/zumastor-howto.html">the Zumastor Howto</a>.
The current release is <a href="http://zumastor.org/downloads/releases/0.8-r1639/">0.8</a>, which adds
several bugfixes (in particular, replication between x86 and x86_64 hosts now works)
and experimental native Hardy packages.

<p>
Prebuilt Debian/Ubuntu packages are available at <a href="http://zumastor.org/downloads/releases">zumastor.org/downloads/releases</a>.
<p>
Zumastor development is hosted at <a href="http://zumastor.googlecode.com">zumastor.googlecode.com</a>.
<ul>
<li><a href="http://code.google.com/p/zumastor/source">Subversion repository: code.google.com/p/zumastor/source</a>
<li><a href="http://code.google.com/p/zumastor/issues/list">Issue tracker: code.google.com/p/zumastor/issues/list</a>
<li><a href="irc://irc.oftc.net/#zumastor">IRC channel: irc://irc.oftc.net#zumastor</a>
<li><a href="/irclogs">IRC logs</a>
<li><a href="http://groups.google.com/group/zumastor">zumastor mailing list</a>
<li><a href="http://groups.google.com/group/zumastor-commits">zumastor-commits mailing list</a>
<li><a href="soc.html">Summer of Code ideas</a>
</ul>

<h3>Other documents</h3>
 <ul>
  <li><a href="http://zumastor.googlecode.com/svn/trunk/doc/desimplnotes.html">Design Notes</a>
  <li><a href="http://zumastor.googlecode.com/svn/www/zumastor.fast08.ppt">WIP slides</a> and <a href="http://zumastor.googlecode.com/svn/www/zumastor-poster.fast08.pdf">poster</a> presented at <a href="http://www.usenix.org/events/fast08/">FAST '08</a>, 27 Feb 2008
  <li><a href="http://zumastor.googlecode.com/files/zumastor.whitepaper.pdf">Zumastor Whitepaper</a> - presented at SCaLE '07, 11 Feb 2007 (<a href="http://www.socallinuxexpo.org/scale5x/conference+info/speakers/Daniel+Phillips/">slides and audio recording here</a>)
  <li><a href="http://sourceware.org/cluster/csnap/csnap.ps">Cluster Snapshots Block Device</a> - Linux Kongress, 3 Sep 2004
  <li><a href="http://sourceware.org/cluster/csnap/cluster.snapshot.design.html">Cluster Snapshot Design</a> - 8 May 2004
  <li><a href="http://sourceware.org/cluster/ddraid/raid35.pdf">Cluster RAID</a> - Linux Kongress RAID 3.5, 27 Sep 2003
 </ul>


<h3>Kernel Patches</h3>
Zumastor requires a few kernel patches.  These are online at
<a
href="http://zumastor.googlecode.com/svn/trunk/ddsnap/patches/">http://zumastor.googlecode.com/svn/trunk/ddsnap/patches/</a> and
<a
href="http://zumastor.googlecode.com/svn/trunk/zumastor/patches/">http://zumastor.googlecode.com/svn/trunk/zumastor/patches/</a>.
The most interesting patches are:
<ul>
<li> <a href="http://zumastor.googlecode.com/svn/trunk/ddsnap/patches/2.6.22.18/bio.throttle.patch">Dan Phillips' bio throttling patch</a>,
part of how we prevent deadlock during memory pressure.  See 
<a href="http://marc.info/?l=linux-kernel&amp;m=119689957014639&amp;w=2">lkml discussion from 6 Dec 2007</a> and 
<a href="http://lwn.net/SubscriberLink/261626/f608ccfe3ce19d28/">coverage at LWN.NET</a>.
<li> <a href="http://zumastor.googlecode.com/svn/trunk/ddsnap/patches/2.6.22.18/ddsnap.base.patch">Dan Phillips' PR_SET_MEMALLOC/PR_SET_LESS_THROTTLE patch</a>, other part of how we prevent deadlock during memory pressure.  (Any user app that's in the block writeout path needs to be written very carefully to avoid memory recursion deadlock; in particular, it should probably use mlockall, never allocate any memory while handling a write request (modulo a few KB of Heisenslop), and it should set PF_LESS_THROTTLE|PF_MEMALLOC using prctl, as provided for by this patch.)  (Mixed in with the ddsnap stuff for now, sorry; ignore everything but the changes to include/linux/prctl.h and kernel/sys.c.)
<li> <a href="http://zumastor.googlecode.com/svn/trunk/zumastor/patches/2.6.22.18/nfs_suspend">NFS suspend patch</a>, part of how we make new snapshots available via the NFS server as they arrive from remote sites
</ul>

 <h3>Current contributors</h3>
 Daniel Phillips, Jiaying Zhang, Shapor Naghibzadeh, Drake Diedrich, Will Nowak, Timothy Huber
 <h3>Previous contributors</h3>
 <ul>
  <li>Robert Nelson, Jane Chiu, Ross Combs, Alex Polvi, Chuan-kai Lin, Mark Roach
  <li>Phil Dibowitz - ddsnap SIGHUP handling patch
  <li>Jonathan Van Eenwyk - ddloop deltafile mount <a href="http://www.nomorevoid.com/downloads/dm-ddloop.tar.gz">patch</a> (tarball includes a paper)
 </ul>

<hr>
<center>&copy; 2007, 2008 Google</center>
</body>
</html>
